﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Admin_ChiTietVacxin : System.Web.UI.Page
{
    //khai báo nguồn dữ liệu
    TiemPhongDataContext db = new TiemPhongDataContext();
 
    protected void Page_Load(object sender, EventArgs e)
    {
        string maVacxin = Request.QueryString["id"].ToString();
        if (!String.IsNullOrEmpty(maVacxin))
        {
            loadDataListView(maVacxin);
            VacXinID.Value = maVacxin;              
        }
    }
    protected void btnSua_Click(object sender, EventArgs e)
    {        
        txtCTMaVC.Enabled = false;
        cbMaVC.Enabled = false;
    }   
    // hàm tải listView
    protected void loadDataListView(string MVC)
    {
        var CTvacXin = from u in db.ChiTietVac_xins
                       where u.MaVC == MVC
                       select new
        {
            u.MaCTVC,
            u.MaVC,
            u.SoLuong,
            NgaySX = (u.NgaySX.HasValue) ? u.NgaySX.ToString() : string.Empty,
            Ngaynhap = (u.Ngaynhap.HasValue) ? u.Ngaynhap.ToString() : string.Empty,
            HanSD = (u.HanSD.HasValue) ? u.HanSD.ToString() : string.Empty
        };
       
        if (CTvacXin == null)
        {
            lableNull.Enabled = true;
        }
        ListViewCTVacxin.DataSource = CTvacXin;
        ListViewCTVacxin.DataBind();
        cbMaVC.SelectedValue = MVC;
        loadComboVacXin();  
    }
    // hàm tải danh sách các Mã Vắc xin
    protected void loadComboVacXin(){
        var cbList = from v in db.Vac_xins select v;
        cbMaVC.DataValueField = "MaVC";
        cbMaVC.DataTextField = "MaVC";
        cbMaVC.DataSource = cbList.ToList();
        cbMaVC.DataBind();
        cbMaVC.Items.Insert(0, "--Select--");
        txtCTMaVC.Text = loadIDCT();
    }
    protected void setControlText() {
        txtHanSuDung.Text = String.Empty;
        txtNgayNhap.Text = String.Empty;
        txtNgaySanXuat.Text = String.Empty;
        txtSoLuong.Text = String.Empty; 

        cbMaVC.Enabled = false;
    }
    protected string loadIDCT()
    {
        string countID = "";
        var selectID = (from u in db.ChiTietVac_xins select u.MaCTVC).Count() + 1;
        if (selectID < 10) {
            countID = selectID.ToString();
            countID = "00" + countID;
        }
        else if (selectID < 100)
        {
            countID = selectID.ToString();
            countID = "0" + countID;
        }            
        return countID; 
    }
    // hàm thêm
    protected void btnThem_Click(object sender, EventArgs e)
    {
        try
        {
            // khởi tạo đối tượng chi tiết vác xin mới
            ChiTietVac_xin ctVx = new ChiTietVac_xin();
            // thêm giá trị
            ctVx.MaCTVC = txtCTMaVC.Text;
            ctVx.MaVC = cbMaVC.SelectedValue;
            ctVx.SoLuong = Convert.ToInt32(txtSoLuong.Text);
            ctVx.Ngaynhap = DateTime.ParseExact(this.txtNgayNhap.Text, "dd/MM/yyyy", null);
            ctVx.NgaySX = DateTime.ParseExact(this.txtNgaySanXuat.Text, "dd/MM/yyyy", null);
            ctVx.HanSD = DateTime.ParseExact(this.txtHanSuDung.Text, "dd/MM/yyyy", null);
            // câu lệnh linq
            db.ChiTietVac_xins.InsertOnSubmit(ctVx);
            db.SubmitChanges();
            // thông báo
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Thêm thành công!";
            // tải lại listView
            loadDataListView(VacXinID.Value.ToString());
            setControlText();
        }
        catch (Exception ex)
        {
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Thêm thất bại" + ex.Message;
        }
    }
    // hàm sửa
    protected void btnCapNhatSua_Click(object sender, EventArgs e)
    {
        try
        {
            var kqS = db.ChiTietVac_xins.Where(kq => kq.MaCTVC == txtCTMaVC.Text).SingleOrDefault();    
            if (kqS != null)
            {                
                kqS.MaVC = cbMaVC.SelectedValue;                
                kqS.SoLuong  = Convert.ToInt32(txtSoLuong.Text);
                kqS.NgaySX = DateTime.ParseExact(this.txtNgaySanXuat.Text, "dd/MM/yyyy", null);
                kqS.Ngaynhap = DateTime.ParseExact(this.txtNgayNhap.Text, "dd/MM/yyyy", null);
                kqS.HanSD = DateTime.ParseExact(this.txtHanSuDung.Text, "dd/MM/yyyy", null);
                db.SubmitChanges();
                //
                btnCapNhatSua.Visible = false;
                btnThem.Visible = true;
                // thông báo
                messageKetQua.Enabled = true;
                messageKetQua.Text = "Sửa thành công!";
                // tải lại listView
                loadDataListView(VacXinID.Value.ToString());
                setControlText();
            }            
        }
        catch (Exception exCNS)
        {
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Sửa thất bại" + exCNS.Message;
        }
    }
    //chỗ này hay////
    protected void ListViewCTVacxin_OnItemCommand(object sender, ListViewCommandEventArgs e)
    {
        // khai bao bien idMCtVC de lay ma chi tiet vacxin
        var idMCtVC = e.CommandArgument.ToString();        
        
        if (e.CommandName == "Delete")
        {
            var deleteResultCTVacXin = db.ChiTietVac_xins.FirstOrDefault(c=>c.MaCTVC.Equals(idMCtVC));
            db.ChiTietVac_xins.DeleteOnSubmit(deleteResultCTVacXin);
            db.SubmitChanges();
            // thông báo
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Xoá bản ghi thành công!";
            // tải lại listView
            loadDataListView(VacXinID.Value.ToString());
            setControlText();
        }
        if (e.CommandName == "Update")
        {
            var ResultChiTietVacxin = db.ChiTietVac_xins.FirstOrDefault(c => c.MaCTVC.Equals(idMCtVC));
            btnCapNhatSua.Visible = true;
            btnThem.Visible = false;
            txtCTMaVC.Text = ResultChiTietVacxin.MaCTVC;
            cbMaVC.SelectedValue = ResultChiTietVacxin.MaVC;
            txtSoLuong.Text = ResultChiTietVacxin.SoLuong.ToString();            
            txtNgaySanXuat.Text = ResultChiTietVacxin.NgaySX.HasValue?Convert.ToDateTime(ResultChiTietVacxin.NgaySX).ToString("d"):String.Empty;
            txtNgayNhap.Text = ResultChiTietVacxin.Ngaynhap.HasValue? Convert.ToDateTime(ResultChiTietVacxin.Ngaynhap).ToString("d"):String.Empty;
            txtHanSuDung.Text = ResultChiTietVacxin.HanSD.HasValue ? Convert.ToDateTime(ResultChiTietVacxin.HanSD).ToString("d") : String.Empty; 
        }
    }

    protected void ListViewCTVacxin_OnItemDeleting(object sender, ListViewDeleteEventArgs e) { }
    protected void ListViewCTVacxin_OnItemUpdating(object sender, ListViewUpdateEventArgs e) { }
}